﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//-------------------------------------------------------------------------
using Interfaces.Consultorio;
using ModeloEntidades;

namespace Interfaces
{
    public partial class UI_Principal : Form
    {
        private BindingSource enlace_a_origen_de_intercambio;
        private int elSender;
        private UI_Consultorio ultima_UI_consultorio;

        public UI_Principal()
        {
            InitializeComponent();
        }

        private void toolStripButtonConsultorioAlta_Click(object sender, EventArgs e)
        {
            UI_Consultorio ui = new UI_Consultorio();
            ui.MdiParent = this;


            ultima_UI_consultorio = ui;

            // Agrego manipulador de evento
            ui.cuandoBusco_profesional += new UI_Consultorio.buscarProfesional(buscar_profesional_del_colegio);

            ui.Show();
        }

        private void toolStripButtonTramitesPendientes_Click(object sender, EventArgs e)
        {
            UI_TramiteLista ui = new UI_TramiteLista();
            ui.MdiParent = this;

            // Agrego manipulador de evento
            ui.cuandoSeleccionaUno += new UI_TramiteLista.seleccionado(tramite_en_curso_seleccionado);

            ui.Show();
        }

        private void tramite_en_curso_seleccionado(tramitesEnCurso unTramite)
        {
            UI_Consultorio ui = new UI_Consultorio(unTramite.id);
            ui.MdiParent = this;

            ultima_UI_consultorio = ui;
            
            // Agrego manipulador de evento
            ui.cuandoBusco_profesional += new UI_Consultorio.buscarProfesional(buscar_profesional_del_colegio);

            ui.Show();
        }

        private void buscar_profesional_del_colegio(BindingSource unEnlace_a_origen, int sender)
        {
            enlace_a_origen_de_intercambio = unEnlace_a_origen;
            elSender = sender;

            UI_BusquedaProfesionalColegio ui = new UI_BusquedaProfesionalColegio();
            ui.MdiParent = this;

            // Agrego manipulador de evento
            ui.cuandoSeleccionaUno += new UI_BusquedaProfesionalColegio.seleccionado(profesional_seleccionado);

            ui.Show();
        }

        private void profesional_seleccionado(Profesional unProfesional)
        {
            if (elSender == (int)UI_Consultorio.Sender.titular)
            {
                enlace_a_origen_de_intercambio.Clear();
                enlace_a_origen_de_intercambio.Add(unProfesional.instanciaModelo_titular());
              
            
            }
            else if (elSender == (int)UI_Consultorio.Sender.profesionales)
            {
                enlace_a_origen_de_intercambio.Add(unProfesional.instanciaModelo_profesionales());
            }

            enlace_a_origen_de_intercambio.EndEdit();

            ultima_UI_consultorio.Update();

        }
    }
}
